package com.amsp.oa.oademo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.amsp.oa.oademo.entity.FileDistribution;

public interface FileDistributionService extends IService<FileDistribution> {
    /**
     * 分页查询文件发放记录
     * 
     * @param page    页码
     * @param size    每页大小
     * @param keyword 关键字
     * @return 分页结果
     */
    IPage<FileDistribution> getPage(Integer page, Integer size, String keyword);

    /**
     * 保存或更新文件发放记录
     * 
     * @param fileDistribution 文件发放记录
     * @return 保存结果
     */
    boolean saveOrUpdateDistribution(FileDistribution fileDistribution);

    /**
     * 获取文件发放记录详情
     * 
     * @param id 记录ID
     * @return 详情信息
     */
    FileDistribution getDetailById(Long id);

    /**
     * 删除文件发放与回收记录（包含明细）
     */
    boolean removeWithRecords(Long id);
}